package com.beauty.inventory.service;

/**
 * 限流器服务接口
 */
public interface RateLimiterService {
    
    /**
     * 尝试获取令牌，如果获取成功返回true，否则返回false
     * 
     * @param key 限流器的键
     * @param rate 每秒允许的请求数
     * @param permits 本次请求需要获取的令牌数
     * @return 是否获取成功
     */
    boolean tryAcquire(String key, double rate, int permits);
    
    /**
     * 使用默认参数尝试获取令牌（默认每个请求1个令牌）
     * 
     * @param key 限流器的键
     * @param rate 每秒允许的请求数
     * @return 是否获取成功
     */
    boolean tryAcquire(String key, double rate);
} 